﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EverBuy.SocialNetworking.BusinessObjects;

namespace EverBuy.SocialNetworking.Data.Repository.Abstract
{
    public interface IAccountRepository
    {
        /// <summary>
        /// 
        /// </summary>
        /// <param name="accountID"></param>
        /// <returns></returns>
        Account GetAccountByID(int accountID);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="email"></param>
        /// <returns></returns>
        Account GetAccountByEmail(string email);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="username"></param>
        /// <returns></returns>
        Account GetAccountByUsername(string username);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="account"></param>
        void SaveAccount(Account account);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="account"></param>
        void DeleteAccount(Account account);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="searchText"></param>
        /// <returns></returns>
        List<Account> SearchAccounts(string searchText);
    }
}
